class Solution:
def findMin(self, nums: List[int]) -> int:
if len(nums) == 0:
return -1
if len(nums) == 1:
return nums[0]
start = 0
end = len(nums) -1
while start < end:
mid = (start + end) //2
if mid > 0 and nums[mid] < nums[mid-1]:
return nums[mid]
break
elif nums[start] <= nums[mid] and nums[mid] > nums[end]:
start = mid +1
else:
end = mid -1
return nums[start]
281A - Word Capitalization | 1646A - Square Counting |
266A - Stones on the Table | 61A - Ultra-Fast Mathematician |
148A - Insomnia cure | 1650A - Deletions of Two Adjacent Letters |
1512A - Spy Detected | 282A - Bit++ |
69A - Young Physicist | 1651A - Playoff |
734A - Anton and Danik | 1300B - Assigning to Classes |
1647A - Madoka and Math Dad | 710A - King Moves |
1131A - Sea Battle | 118A - String Task |
236A - Boy or Girl | 271A - Beautiful Year |
520B - Two Buttons | 231A - Team |
479C - Exams | 1030A - In Search of an Easy Problem |
158A - Next Round | 71A - Way Too Long Words |
160A - Twins | 1A - Theatre Square |
1614B - Divan and a New Project | 791A - Bear and Big Brother |
1452A - Robot Program | 344A - Magnets |